#Boa:Dialog:QuadroDisponibilidade

import wx
import wx.grid

def create(parent):
    return QuadroDisponibilidade(parent)

[wxID_QUADRODISPONIBILIDADE, wxID_QUADRODISPONIBILIDADEBUTTONIR, 
 wxID_QUADRODISPONIBILIDADEDATEPICKERCTRL1, wxID_QUADRODISPONIBILIDADEGRIDDIA, 
 wxID_QUADRODISPONIBILIDADEGRIDSEMANA, wxID_QUADRODISPONIBILIDADENOTEBOOK1, 
 wxID_QUADRODISPONIBILIDADEPANEL1, wxID_QUADRODISPONIBILIDADEPANEL2, 
 wxID_QUADRODISPONIBILIDADETOOLBAR1, 
] = [wx.NewId() for _init_ctrls in range(9)]

[wxID_QUADRODISPONIBILIDADETOOLBAR1TOOLSFECHAR] = [wx.NewId() for _init_coll_toolBar1_Tools in range(1)]

class QuadroDisponibilidade(wx.Dialog):
    def _init_coll_toolBar1_Tools(self, parent):
        # generated method, don't edit

        parent.DoAddTool(bitmap=wx.Bitmap(u"Img/Fechar.png",
              wx.BITMAP_TYPE_PNG), bmpDisabled=wx.Bitmap(u"Img/Fechar.png",
              wx.BITMAP_TYPE_PNG),
              id=wxID_QUADRODISPONIBILIDADETOOLBAR1TOOLSFECHAR,
              kind=wx.ITEM_NORMAL, label=u'Fechar Janela',
              longHelp=u'Fechar Janela', shortHelp=u'Fechar')
        self.Bind(wx.EVT_TOOL, self.OnToolBar1ToolsfecharTool,
              id=wxID_QUADRODISPONIBILIDADETOOLBAR1TOOLSFECHAR)

        parent.Realize()

    def _init_coll_notebook1_Pages(self, parent):
        # generated method, don't edit

        parent.AddPage(imageId=-1, page=self.panel1, select=True, text=u'Dia')
        parent.AddPage(imageId=-1, page=self.panel2, select=False,
              text=u'Semana')

    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Dialog.__init__(self, id=wxID_QUADRODISPONIBILIDADE,
              name=u'QuadroDisponibilidade', parent=prnt, pos=wx.Point(401,
              120), size=wx.Size(599, 502), style=wx.DEFAULT_DIALOG_STYLE,
              title=u'Quadro de Disponibilidade')
        self.SetClientSize(wx.Size(583, 464))
        self.SetBackgroundColour(wx.Colour(255, 255, 255))

        self.toolBar1 = wx.ToolBar(id=wxID_QUADRODISPONIBILIDADETOOLBAR1,
              name='toolBar1', parent=self, pos=wx.Point(0, 0),
              size=wx.Size(583, 28), style=wx.TB_HORIZONTAL | wx.NO_BORDER)

        self.notebook1 = wx.Notebook(id=wxID_QUADRODISPONIBILIDADENOTEBOOK1,
              name='notebook1', parent=self, pos=wx.Point(0, 64),
              size=wx.Size(584, 408), style=0)

        self.datePickerCtrl1 = wx.DatePickerCtrl(id=wxID_QUADRODISPONIBILIDADEDATEPICKERCTRL1,
              name='datePickerCtrl1', parent=self, pos=wx.Point(208, 32),
              size=wx.Size(120, 24), style=wx.DP_SHOWCENTURY)
        self.datePickerCtrl1.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.NORMAL,
              False, u'Tahoma'))

        self.buttonIr = wx.Button(id=wxID_QUADRODISPONIBILIDADEBUTTONIR,
              label=u'Ir', name=u'buttonIr', parent=self, pos=wx.Point(336, 32),
              size=wx.Size(32, 23), style=0)
        self.buttonIr.Bind(wx.EVT_BUTTON, self.OnButtonIrButton,
              id=wxID_QUADRODISPONIBILIDADEBUTTONIR)

        self.panel1 = wx.Panel(id=wxID_QUADRODISPONIBILIDADEPANEL1,
              name='panel1', parent=self.notebook1, pos=wx.Point(0, 0),
              size=wx.Size(576, 382), style=wx.TAB_TRAVERSAL)

        self.panel2 = wx.Panel(id=wxID_QUADRODISPONIBILIDADEPANEL2,
              name='panel2', parent=self.notebook1, pos=wx.Point(0, 0),
              size=wx.Size(576, 382), style=wx.TAB_TRAVERSAL)

        self.gridDia = wx.grid.Grid(id=wxID_QUADRODISPONIBILIDADEGRIDDIA,
              name=u'gridDia', parent=self.panel1, pos=wx.Point(8, 8),
              size=wx.Size(560, 368), style=0)
        self.gridDia.EnableEditing(False)

        self.gridSemana = wx.grid.Grid(id=wxID_QUADRODISPONIBILIDADEGRIDSEMANA,
              name=u'gridSemana', parent=self.panel2, pos=wx.Point(8, 8),
              size=wx.Size(560, 368), style=0)
        self.gridSemana.EnableEditing(False)

        self._init_coll_toolBar1_Tools(self.toolBar1)
        self._init_coll_notebook1_Pages(self.notebook1)

    def __init__(self, parent):
        self._init_ctrls(parent)
        self.CriarGridDia()
        self.CriarGridSemana()
        
    #Cria a Grid da aba Dia    
    def CriarGridDia(self):
    
        #Define quantas colunas e linhas tera a grid
        self.gridDia.CreateGrid(28, 1)
        
        self.gridDia.DisableDragCell()
        self.gridDia.DisableCellEditControl()
        self.gridDia.DisableDragColMove()
        self.gridDia.DisableDragColSize()
        self.gridDia.DisableDragGridSize()
        self.gridDia.DisableDragRowSize()
        
        #Seta os headers da coluna
        self.gridDia.SetColLabelValue(0, 'Clientes')
        
        #Algoritmo que preenche as linhas com as horas
        #inicio
        horas = 7
        var = 0
        linha = 0
        
        while horas <= 20:
            if var == 0:
                minutos = '00'
            elif var == 1:
                minutos = '30'
                
            label = str(horas)+':'+str(minutos)
        
            self.gridDia.SetRowLabelValue(linha, label)
        
            linha += 1
            
            if var ==0:
                var = 1
            elif var ==1:
                horas += 1
                var=0
        #fim do algoritmo para preencher as linhas com as horas
    

    #Cria a Grid da aba Semana
    def CriarGridSemana(self):
        #Define quantas colunas e linhas tera a grid
        self.gridSemana.CreateGrid(28, 7)
        
        self.gridSemana.DisableDragCell()
        self.gridSemana.DisableCellEditControl()
        self.gridSemana.DisableDragColMove()
        self.gridSemana.DisableDragColSize()
        self.gridSemana.DisableDragGridSize()
        self.gridSemana.DisableDragRowSize()
        
        #Seta os headers da coluna
        dia = str(self.datePickerCtrl1.GetValue())[3:5]
        mes = str(self.datePickerCtrl1.GetValue())[0:2]
        ano = str(self.datePickerCtrl1.GetValue())[6:8]
        self.gridSemana.SetColLabelValue(0, dia+'/'+mes+'/'+'20'+ano)
        
        #Algoritmo que preenche as linhas com as horas
        #inicio
        horas = 7
        var = 0
        linha = 0
        
        while horas <= 20:
            if var == 0:
                minutos = '00'
            elif var == 1:
                minutos = '30'
                
            label = str(horas)+':'+str(minutos)
        
            self.gridSemana.SetRowLabelValue(linha, label)
        
            linha += 1
            
            if var ==0:
                var = 1
            elif var ==1:
                horas += 1
                var=0
        
    
        
        

        #fim do algoritmo para preencher as linhas com as horas
        

    #Botao Fechar
    def OnToolBar1ToolsfecharTool(self, event):
        self.Close()

    def OnButtonIrButton(self, event):
        event.Skip()
        
